<?php

namespace App\Commons\Domain\Module\Financial\Contract;


use App\Commons\Domain\Module\Financial\Model\Payment;

interface PaymentInterface
{

    /**
     * 添加收款方式
     * @param string $uid 用户uid
     * @param array $data
     * @return mixed
     */
    public function storePayment(string $uid, array $data);

    /**
     * 修改收款方式
     * @param Payment $payment
     * @param string $bank_name
     * @param string $bank_branch
     * @param string $qr_code
     * @param string $account
     * @return mixed
     */
    public function updatePayment(Payment $payment, string $bank_name, string $bank_branch, string $qr_code, string $account);

    /**
     * 收款方式开关
     * @param Payment $payment
     * @param int $status
     * @return mixed
     */
    public function switchPayment(Payment $payment, int $status);

    /**
     * 删除收款
     * @param int $paymentId
     * @return mixed
     */
    public function removePayment(int $paymentId);
}
